package com.mdnote.practice.array;

import java.util.HashSet;

/**
 * @author Rhythm-2019
 * @date 2020/10/2
 * @description 航班预订统计
 */
public class LeetCode1109 {
    public int[] corpFlightBookings(int[][] bookings, int n) {
        // 差分数组
        int[] diff = new int[n];
        // 核心代码
        for (int i = 0; i < bookings.length; i++) {
            // 让i都最后加上一个属
            diff[bookings[i][0] - 1] += bookings[i][2];
            // 让j到最后一个树减去一个数
            if (bookings[i][1] < diff.length) {
                diff[bookings[i][1]] -= bookings[i][2];
            }
            // 最终就是在i 到 j之间加上了一个数
        }
        // 还原
        // 原数组  ------> 差分数组
        // diff[0[ = nums[0];
        // diff[i] = num[i] - num[i - 1]
        for (int i = 1; i < diff.length; i++) {
            diff[i] += diff[i - 1];
        }
        return diff;
    }
}
